home *** CD-ROM | disk | FTP | other *** search
/ Utilities Professional 1-1500 / Utilities Professional 1-1500 (1994)(WPD)[!].iso / 12511500 / var1466.dms / var1466.adf / Tempest6-8-94.lha / Rexx / CN-BugReport.rexx < prev    next >
OS/2 REXX Batch file  |  1994-06-08  |  34KB  |  916 lines

  1. /*
  2.                       _____
  3.                      /      __  _ _   __  __    __  _  __  ____
  4.                      \     /  _/  \  /   /     /   /  /   / __
  5.                    ___\   /        \    / __  /   /      / __
  6.                   /      /  \      /   /     /   /  \   /
  7. ______________________________________________________________________________
  8.  
  9.      BugReporter&IdeaBank, © 1994 by Casa Nova, Sysop of Skyline BBS Berlin.
  10.      Written for /T\empest BBS v3.15 or higher Versions. Started: 02-12-94
  11.  
  12.      NOTE: - You musst have an assignment DOORS: !!!
  13. ______________________________________________________________________________   */
  14.  
  15.  
  16. OPTIONS RESULTS                                 /*--------------------------*/
  17. ARG BBS_NODE                                    /* Grab the Node Number     */
  18. Address value 'TempRexx-'BBS_NODE               /* Tell Arexx where the BBS Is
  19. ----------------------------------------------------------------------------*/
  20. VERS = '1.7'                                /* DON'T CHANGE!          /
  21. ----------------------------------------------------------------------------*/
  22. PROGRAMNAME = 'BugReporter'            /* DON'T CHANGE!         /
  23. ----------------------------------------------------------------------------*/
  24. V_DATE = '05-29-94'                             /* DON'T CHANGE!             /
  25. ---------------------------------------------------------------------------- /
  26. $VER: BugReporter v1.7 (29.05.94) © by Casa Nova, Sysop of Skyline BBS Berlin
  27. ----------------------------------------------------------------------------*/
  28. 'Getvar' 0                                      /* UserName                 */
  29. RUName = (result)                               /* Name UPPER-CASE          */
  30. Bufferflush                                     /*                          */
  31. signal ON ERROR                                 /*                          */
  32. signal ON HALT                                  /*                          */
  33. signal ON SYNTAX                                /*                          */
  34. signal ON FAILURE                               /*                          */
  35. signal ON IOERR                                 /*                          */
  36.                                                 /*--------------------------*/
  37. 'Getvar' 0                                  /* Path where the BBS is    */
  38. BBS    = (result)                              /* located (don't change!)  */
  39.                                                 /*--------------------------*/
  40. 'BBSIDENTIFY ANSI'                              /* Ansi on/off?         */
  41. gfx = (result)                                  /*                      */
  42.                                                 /*----------------------*/
  43.                                                 /*                      */
  44. DATE   = DATE()                      /* DATE            */
  45.                                                 /*----------------------*/
  46.                                                 /*                      */
  47. TIM    = TIME()                        /* TIME            */
  48.                                                 /*----------------------*/
  49. 'BBSIDENTIFY' NAME                             /* +                    */
  50. SYSTEM = (result)                     /* Name of BBS        */
  51.                         /*----------------------*/
  52. 'Getvar' 19                                     /*                      */
  53. Baud   = (result)                    /* Baud Rate of User    */
  54.                                                 /*----------------------*/
  55. 'Getvar' 37                                     /*                      */
  56. TL     = (result)                    /* Daily Time Limit    */
  57.                                                 /*----------------------*/
  58. 'Getvar' 39                                     /*                      */
  59. TR     = (result)                    /* Remaining Time      */
  60.                                                 /*----------------------*/
  61. 'Getvar' 0                                      /*                      */
  62. UName  = (result)                     /* User whos ONLINE    */
  63.                                                 /*----------------------*/
  64. 'Getvar' 4                                      /*                      */
  65. LO     = (result)                     /* User`s LOCATION    */
  66.                                                 /*----------------------*/
  67. 'Getvar' 13                                     /*                      */
  68. CT     = (result)                     /* User's Computer-Type    */
  69.                                                 /*----------------------*/
  70. 'Getvar' 94                                     /*                      */
  71. TCT    = (result)                    /* Calls Today          */
  72.                                                 /*----------------------*/
  73. 'Getvar' 20                                     /* User Level           */
  74. LEV    = (result)                               /* (don't change!)      */
  75.                                                 /*----------------------*/
  76. 'Getvar' 128                                    /* User's Option flags  */
  77. UOP    = (result)                               /* (don't change!)      */
  78.                                                 /*----------------------*/
  79. 'Getvar' 18                                     /* UserSlotNumber(User#)*/
  80. SN     = (result)                               /* (don't change!)      */
  81.                                                 /*----------------------*/
  82. 'Getvar' 12                                     /* UploadPath + DONE    */
  83. ULP    = (result)                               /* (don't change!)      */
  84.                                                 /*----------------------*/
  85. 'PATH' 6                                        /* Get the path of the  */
  86. DOORS = (result)                                /* BBS:DOORS/           */
  87.                                                 /*----------------------*/
  88. type  = 'Bugs'                                  /* (don't change!)      */
  89. file10 = DOORS'BugReporter/'type'.txt'          /* (don't change!)      */
  90. /*----------------------------------------------------------------------*/
  91.  
  92. file0 = 'NODE:DOOR_'BBS_NODE            /* Create NODE:DOOR_#   */
  93. OPEN(fn0,file0,'W')                /* Displays in WHO.mod  */
  94. Writeln(fn0,'BugReporter        ')        /* when this tool is    */
  95. CLOSE(fn0)                               /* used!                */
  96. /*
  97. POU = SUBSTR(''UOP'',43,1,)        /* This one checks if User has  */
  98. IF POU=Y THEN DO            /* Option flag #37 set to "Yes" */
  99.    SYS='SYSOP ACCESS!'
  100. END
  101. */
  102.  
  103.    SYS='Username'
  104. HEADER1 = MESSAGE ' 'system'  'PROGRAMNAME' 'VERS' 'copies(' ',23-length(system))''copies(' ',15-length(PROGRAMNAME))' Designed by Casa Nova ['V_DATE'] '
  105. HEADER2 = MESSAGE ''COPIES('_',80)''
  106.  
  107. CLS
  108. MESSAGE
  109. HEADER1
  110. HEADER2
  111. MESSAGE
  112. MESSAGE '                                                              Date: 'DATE()
  113. MESSAGE '                                                              Time: 'TIME()
  114. MESSAGE
  115. MESSAGE 'Hello 'UName'!'
  116. MESSAGE
  117. MESSAGE 'Welcome to the 'SYSTEM' BugReporter & Idea-Bank.'
  118. MESSAGE
  119. MESSAGE
  120. SENDSTRING '[E]nglish or [G]erman? : '
  121. AGAIN:
  122. ASK_LANGUAGE:
  123. GETCHAR
  124. Lang = upper(result)
  125. SELECT
  126.    WHEN Lang='G' THEN NEXT
  127.    WHEN Lang='D' THEN NEXT
  128.    WHEN Lang='E' THEN NEXT
  129.    WHEN Lang='Q' THEN CALL DONE
  130.    OTHERWISE  CALL AGAIN
  131. END
  132.  
  133. NEXT:
  134. IF Lang='G' THEN DO
  135.     SENDSTRING 'G'
  136.     l=G
  137. END
  138. IF Lang='D' THEN DO
  139.     SENDSTRING 'D'
  140.     l=G
  141. END
  142. IF Lang='E' THEN DO
  143.     SENDSTRING 'E'
  144.     l=E
  145. END
  146.  
  147. Q8.E  = SENDSTRING 'Would you like to go to the [B]ug-Reporter or the [I]dea-Bank? : '
  148. Q8.G  = SENDSTRING 'Moechtest Du in den [B]ugreporter oder in die [I]deen-Bank? : '
  149. Q.8:
  150.       Sendstring COPIES('',26)
  151.       Sendstring ''COPIES(' ',26)''
  152.       Sendstring COPIES('',26)
  153. Q.8a:
  154. Q8.l
  155.  
  156. ASK_AGAIN_ACTION:
  157. ASK_ACTION:
  158.       GETCHAR
  159.       ACTION = upper(result)
  160.       SELECT
  161.          WHEN ACTION='I' THEN NEXT_ACTION
  162.          WHEN ACTION='B' THEN NEXT_ACTION
  163.          WHEN ACTION='Q' THEN NEXT_ACTION
  164.          OTHERWISE  CALL ASK_AGAIN_ACTION
  165.       END
  166.  
  167. NEXT_ACTION:
  168. INFO = ' Info: '
  169. IF L='G' THEN DO
  170.   IF ACTION='B' THEN DO
  171.      SENDSTRING 'B'
  172.      type2 = 'BugReporter'
  173.      type = 'Bugs'
  174.      MENU.0 = MESSAGE '                             Bug-Reporter Menu  '
  175.      MENU.1 = MESSAGE '  [E]ingeben eines Fehlers               [W]echsel zur Tempest Ideen-Bank'
  176.      MENU.2 = MESSAGE '  [L]esen des Fehler/Bug-Reports         [H]ilfe zum Bug-Reporter'
  177.      MENU.3 = MESSAGE '  [D]ownload des Fehler-Reports          [Q]uit'
  178.      MENU.4 = SENDSTRING '  [U]pload (single/batch)                '
  179.      Q8.G  = SENDSTRING 'Wechsel zur [I]deen-Bank oder [Q]uit? : '
  180.   ERR4.G = SENDSTRING 'Danke fuer die Fehlerbeschreibung, 'UName'! '
  181.   END
  182.   IF ACTION='I' THEN DO
  183.      SENDSTRING 'I'
  184.      type2 = 'IdeenBank'
  185.      type = 'Ideas'
  186.      MENU.0 = MESSAGE '                              Idea-Bank Menu  '
  187.      MENU.1 = MESSAGE '  [E]ingeben einer Idee                  [W]echsel zum Bug-Reporter'
  188.      MENU.2 = MESSAGE '  [L]esen der Ideen-Bank                 [H]ilfe zur Ideen-Bank'
  189.      MENU.3 = MESSAGE '  [D]ownload der kompletten Ideen-Bank   [Q]uit'
  190.      MENU.4 = SENDSTRING '  [U]pload (single/batch)                '
  191.      Q8.G  = SENDSTRING 'Wechsel zum [B]ugreporter oder [Q]uit? : '
  192.   ERR4.G = SENDSTRING 'Danke fuer die neue Idee, 'UName'! '
  193.   END
  194.   ERR1.G = SENDSTRING INFO' Keine 'type'-Liste gefunden! '
  195.   ERR2.G = SENDSTRING INFO' Keine weiteren Eintraege. '
  196.   ERR3.G = SENDSTRING INFO' Keine 'type'-Liste gefunden - kein Download. '
  197.   ERR5.G = MESSAGE '     Wichtig: Bitte nur 'type' fuer Tempest BBS Software eingeben!'
  198.   ERR7.G = SENDSTRING INFO' Kein BugReporter.log gefunden! '
  199.   ERR8.G = SENDSTRING INFO' Anzeige weiterer Eintraege abgebrochen. '
  200. END
  201. IF L='E' THEN DO
  202.   IF ACTION='B' THEN DO
  203.      SENDSTRING 'B'
  204.      type2 = 'BugReporter'
  205.      type = 'Bugs'
  206.      MENU.0 = MESSAGE '                             Bug-Reporter Menu  '
  207.      MENU.1 = MESSAGE '  [E]nter a Bug                          [C]hange to Tempest Idea-Bank'
  208.      MENU.2 = MESSAGE '  [R]ead the Bugreport                   [H]elp with Bug-Reporter'
  209.      MENU.3 = MESSAGE '  [D]ownload the complete Bugreport      [Q]uit'
  210.      MENU.4 = SENDSTRING '  [U]pload Bug (single/batch)            '
  211.      Q8.E  = SENDSTRING 'Change to [I]dea-Bank or [Q]uit? : '
  212.   ERR4.E = SENDSTRING 'Thanks for reporting this bug, 'UName'! '
  213.   END
  214.   IF ACTION='I' THEN DO
  215.      SENDSTRING 'I'
  216.      type2 = 'IdeaBank'
  217.      type = 'Ideas'
  218.      MENU.0 = MESSAGE '                              Idea-Bank Menu  '
  219.      MENU.1 = MESSAGE '  [E]nter Idea                           [C]hange to Bug-Reporter'
  220.      MENU.2 = MESSAGE '  [R]ead Idea-Bank                       [H]elp with Idea-Bank'
  221.      MENU.3 = MESSAGE '  [D]ownload the complete Idea-Bank      [Q]uit'
  222.      MENU.4 = SENDSTRING '  [U]pload Idea (single/batch)           '
  223.      Q8.E  = SENDSTRING 'Change to [B]ug-Reporter or [Q]uit? : '
  224.   ERR4.E = SENDSTRING 'Thanks for the Idea, 'UName'! '
  225.   END
  226.   ERR1.E = SENDSTRING INFO' No 'type'-List found! '
  227.   ERR2.E = SENDSTRING INFO' No more entries. '
  228.   ERR3.E = SENDSTRING INFO' No 'type'-List found - nothing downloaded! '
  229.   ERR5.E = MESSAGE '          Note: Please enter only 'type' from/for Tempest BBS Software!'
  230.   ERR7.E = SENDSTRING INFO' No BugReporter.log found! '
  231.   ERR8.E = SENDSTRING INFO' Skipped displaying. '
  232. END
  233. IF ACTION='Q' THEN DO
  234.    SENDSTRING 'Quit'
  235.    CALL DONE
  236. END
  237.  
  238. /********************* MAIN MENU *************************/
  239.  
  240. type:
  241. CLS
  242. MESSAGE
  243. HEADER1
  244. HEADER2
  245. MESSAGE
  246. Q9.E  = SENDSTRING ''type2' Menu [E/R/D/U/H/C/Q]'
  247. Q9.G  = SENDSTRING ''type2' Menu [E/L/D/U/H/W/Q]'
  248. Q.9:
  249. SCREENOUT ' 'SYS' 'UName''
  250. MESSAGE
  251. MESSAGE
  252. MENU.0
  253. MESSAGE
  254. MENU.1
  255. MENU.2
  256. MENU.3
  257. MENU.4
  258. SCREENOUT '[S]tats (Sysop ONLY!)'
  259. MESSAGE
  260. MESSAGE
  261. /*MESSAGE 'Remaining Time: 'TR':00'
  262. */
  263. Q9.l
  264.  
  265. ASK_AGAIN_ACTION2:
  266. ASK_ACTION2:
  267.       GETCHAR
  268.       ACTION2 = upper(result)
  269.       SELECT
  270.         WHEN ACTION2='E' THEN NEXT_ACTION2
  271.         WHEN ACTION2='R' THEN NEXT_ACTION2
  272.         WHEN ACTION2='L' THEN NEXT_ACTION2
  273.         WHEN ACTION2='D' THEN NEXT_ACTION2
  274.         WHEN ACTION2='C' THEN NEXT_ACTION2
  275.         WHEN ACTION2='W' THEN NEXT_ACTION2
  276.         WHEN ACTION2='H' THEN NEXT_ACTION2
  277.         WHEN ACTION2='U' THEN NEXT_ACTION2
  278.         WHEN ACTION2='S' THEN NEXT_ACTION2
  279.         WHEN ACTION2='Q' THEN DONE
  280.         OTHERWISE  CALL ASK_AGAIN_ACTION2
  281.       END
  282.  
  283. NEXT_ACTION2:
  284. IF L='G' THEN DO
  285.   IF ACTION2='E' THEN DO
  286.      SENDSTRING 'E'
  287.      CALL MSGE
  288.   END
  289.   IF ACTION2='R' THEN DO
  290.      SENDSTRING 'R'
  291.      CALL REA
  292.   END
  293.   IF ACTION2='L' THEN DO
  294.      SENDSTRING 'L'
  295.      CALL REA
  296.   END
  297.   IF ACTION2='D' THEN DO
  298.      SENDSTRING 'D'
  299.      CALL DLD
  300.   END
  301. END
  302. IF L='E' THEN DO
  303.   IF ACTION2='E' THEN DO
  304.      SENDSTRING 'E'
  305.      CALL MSGE
  306.   END
  307.   IF ACTION2='R' THEN DO
  308.      SENDSTRING 'R'
  309.      CALL REA
  310.   END
  311.   IF ACTION2='D' THEN DO
  312.      SENDSTRING 'D'
  313.      CALL DLD
  314.   END
  315. END
  316. IF ACTION2='W' THEN DO
  317.    SENDSTRING 'W'
  318.    MESSAGE
  319.    MESSAGE
  320.    CALL Q.8a
  321. END
  322. IF ACTION2='C' THEN DO
  323.    SENDSTRING 'C'
  324.    MESSAGE
  325.    MESSAGE
  326.    CALL Q.8a
  327. END
  328. IF ACTION2='U' THEN DO
  329.    SENDSTRING 'U'
  330.    MESSAGE
  331.    MESSAGE
  332.    CALL UPL
  333. END
  334. IF ACTION2='S' THEN DO
  335.    SENDSTRING 'S'
  336.    MESSAGE
  337.    MESSAGE
  338.    CALL STAT
  339. END
  340. IF ACTION2='Q' THEN DO
  341.    SENDSTRING 'Quit'
  342.    CALL DONE
  343. END
  344. IF ACTION2='H' THEN DO
  345.    SENDSTRING 'Help'
  346.    CALL HELP
  347. END
  348.  
  349. /********************* HELP ************************/
  350.  
  351. HELP:
  352. CLS
  353. MESSAGE
  354. MESSAGE ' 'system'  'PROGRAMNAME' 'VERS' 'copies(' ',23-length(system))''copies(' ',15-length(PROGRAMNAME))' Designed by Casa Nova ['V_DATE'] '
  355. MESSAGE ''COPIES('_',80)''
  356. MESSAGE
  357. IF L='E' THEN DO
  358.    IF type = 'Bugs' THEN DO
  359.       MESSAGE '       The  BugReporter allows you to sample, read or download Bugs of'
  360.       MESSAGE '       /T\empest BBS Software.'
  361.       MESSAGE '       Don`t forget to enter  the Version and Date of Tempest-Software'
  362.       MESSAGE '       where you found the Bug.'
  363.       MESSAGE ''
  364.       MESSAGE '       Example:'
  365.       MESSAGE '                 (Tempest v3.13, 22nd April 94)'
  366.       MESSAGE ''
  367.       MESSAGE '       When uploading a Bug(s)  than be sure you upload ONE (Text)File'
  368.       MESSAGE '       for EACH Bug. It does handle batch-uploads correct.'
  369.       MESSAGE '       Each uploaded (Text)File will be one Entry in the Bug-List.'
  370.       MESSAGE ''
  371.       MESSAGE '       When reading the Bug-List the last entry is displayed at first.'
  372.    END
  373.    IF type = 'Ideas' THEN DO
  374.       MESSAGE '       The IdeaBank  allows you  to sample, read or download Ideas for'
  375.       MESSAGE '       future /T\empest Versions.'
  376.       MESSAGE '       Don`t forget to enter  the Version and Date of Tempest-Software'
  377.       MESSAGE '       that you are useing now.'
  378.       MESSAGE ''
  379.       MESSAGE '       Example:'
  380.       MESSAGE ''
  381.       MESSAGE '                   (Tempest v3.13, 22nd April 94)'
  382.       MESSAGE ''
  383.       MESSAGE '       When uploading an Idea than be sure you  upload ONE (Text-)File'
  384.       MESSAGE '       for EACH Idea. It does handle batch-uploads correct.'
  385.       MESSAGE '       Each uploaded (Text-)File will be one Entry in the Idea-List.'
  386.       MESSAGE ''
  387.       MESSAGE '       When reading the IdeaBank the last entry is displayed at first.'
  388.    END
  389. END
  390. IF L='G' THEN DO
  391.    IF type = 'Bugs' THEN DO
  392.       MESSAGE '   Mit dem BugReporter koennen alle noch  nicht bekannten  Bugs der jeweils'
  393.       MESSAGE '   letzten Version der /T\empest BBS Software gesammelt, gelesen oder down-'
  394.       MESSAGE '   geloadet werden.'
  395.       MESSAGE ''
  396.       MESSAGE '   Hierzu stehen die im Menu vorhandenen Funktionen zur Verfuegung.'
  397.       MESSAGE ''
  398.       MESSAGE '   Wenn man einen Fehler/Bug eingibt oder uploadet, sollte man - der besse-'
  399.       MESSAGE '   ren Uebersicht wegen  - nicht vergessen einzugeben,  auf welche Tempest-'
  400.       MESSAGE '   Version sich der Fehler bezieht.'
  401.       MESSAGE ''
  402.       MESSAGE '   Beispiel:'
  403.       MESSAGE '                   (Tempest v3.13 vom 22. April 94)'
  404.       MESSAGE ''
  405.       MESSAGE '   Es koennen auch Fehler  upgeloadet  werden.  Hier sollte jedoch beachtet'
  406.       MESSAGE '   werden, dass pro  Fehler ein Textfile upgeloadet wird.  Das Uploaden von'
  407.       MESSAGE '   mehreren Textfiles  wird korrekt unterstuetzt (batch-upload).'
  408.       MESSAGE '   Jedes upgeloadete (Text)File wird somit auch als ein Eintrag in der Bug-'
  409.       MESSAGE '   Liste eingetragen!'
  410.       MESSAGE ''
  411.       MESSAGE '   Beim Lesen der Bug-Liste wird der letzte Eintrag zuerst angezeigt.'
  412.    END
  413.    IF type = 'Ideas' THEN DO
  414.       MESSAGE '   Mit der Ideen-Bank koennen Ideen fuer zukuenftige /T\empest Versionen ein-'
  415.       MESSAGE '   gegeben, gelesen oder upgeloadet werden.'
  416.       MESSAGE ''
  417.       MESSAGE '   Hierzu stehen die im Menu vorhandenen Funktionen zur Verfuegung.'
  418.       MESSAGE ''
  419.       MESSAGE '   Wenn man eine Idee eingibt oder uploadet, sollte man - der besseren Ueber-'
  420.       MESSAGE '   sicht wegen - nicht vergessen einzugeben, auf welche Version der /T\empest'
  421.       MESSAGE '   sich die Idee bezieht.'
  422.       MESSAGE ''
  423.       MESSAGE '   Beispiel:'
  424.       MESSAGE '                    (Tempest v3.13 vom 22. April 94)'
  425.       MESSAGE ''
  426.       MESSAGE '   Es koennen auch Ideen upgeloadet werden.  Hier sollte jedoch beachtet wer-'
  427.       MESSAGE '   den, dass pro  Idee ein Textfile upgeloadet wird.  Das Uploaden von mehre-'
  428.       MESSAGE '   ren Textfiles wird korrekt unterstuetzt (batch-upload).  Jedes upgeloadete'
  429.       MESSAGE '   (Text)File wird somit auch als ein Eintrag in der Ideen-Liste eingetragen!'
  430.       MESSAGE ''
  431.       MESSAGE '   Beim Lesen der Ideen-Liste wird der letzte Eintrag zuerst angezeigt.'
  432.    END
  433. END
  434. MESSAGE
  435. MESSAGE
  436. SENDSTRING 'Press [RETURN]: '
  437. GETCHAR
  438. CALL type
  439.  
  440. /********************* MSGE ************************/
  441.  
  442. MSGE:
  443. MESSAGE
  444. CLS
  445. MESSAGE '[From    ]: 'LEFT(RUName,17)'              [Reply From]None'
  446. MESSAGE '[Location]: 'LEFT(LO,30)' [Computer  ]: 'CT''
  447. MESSAGE '[Subject ]: 'LEFT(type,15)'                [Node No.  ]: 'BBS_NODE''
  448. MESSAGE '[Msg Area]: Doors                          [Msg Mailed]'DATE' @ 'TIM''
  449. MESSAGE '[Msg Type]: 'type'-List'
  450. MESSAGE
  451. ERR5.l
  452. file8='NODE:PN-BugEdit-'BBS_NODE
  453. 'MSGEDITOR 'file8' 99'
  454.  
  455. file7 =DOORS'BugReporter/Bugs.txt'
  456. file13=DOORS'BugReporter/Ideas.txt'
  457. IF ~exists(file7) THEN DO
  458.    IF ~exists(file13) THEN DO
  459.        ADDRESS COMMAND 'MAKEDIR Doors:BugReporter'
  460.        ADDRESS COMMAND 'ECHO >Doors:BugReporter/Ideas.txt "Date of creation: 'DATE'"'
  461.    END
  462.    ADDRESS COMMAND 'ECHO >Doors:BugReporter/Bugs.txt "Date of creation: 'DATE'"'
  463. END
  464. IF ~exists(file13) THEN DO
  465.    IF ~exists(file7) THEN DO
  466.        ADDRESS COMMAND 'MAKEDIR Doors:BugReporter'
  467.        ADDRESS COMMAND 'ECHO >Doors:BugReporter/Bugs.txt "Date of creation: 'DATE'"'
  468.    END
  469.    ADDRESS COMMAND 'ECHO >Doors:BugReporter/Ideas.txt "Date of creation: 'DATE'"'
  470. END
  471.  
  472. IF exists(file8) THEN DO
  473.    file1='NODE:BugReport-'BBS_NODE
  474.    OPEN(fn1,File1,'W')
  475.    WRITEln(fn1,'~CLS~+[From    ]: 'LEFT(RUName,17)'              [Reply From]None')
  476.    WRITEln(fn1,'[Location]: 'LEFT(LO,30)' [Computer  ]: 'CT'')
  477.    WRITEln(fn1,'[Subject ]: 'LEFT(type,15)'                [Node No.  ]: 'BBS_NODE'')
  478.    WRITEln(fn1,'[Msg Area]: Doors                          [Msg Mailed]'DATE' @ 'TIM'')
  479.    WRITEln(fn1,'[Msg Type]: 'type'-List')
  480.    WRITEln(fn1,'~+')
  481.    CLOSE(fn1)
  482.    ADDRESS COMMAND 'TYPE >>'file1' 'file8''
  483.    ADDRESS COMMAND 'DELETE 'file8' QUIET'
  484.    IF exists(file1) THEN DO
  485.       OPEN(fn1,File1,'A')
  486.       WRITEln(fn1,' ')
  487.       WRITEln(fn1,''copies('-',79)'')
  488.       WRITEln(fn1,'~r')
  489.       CLOSE(fn1)
  490.    END
  491.    ADDRESS COMMAND 'TYPE >>'file1' Doors:BugReporter/'type'.txt'
  492.    ADDRESS COMMAND 'COPY 'file1' Doors:BugReporter/'type'.txt'
  493.    ADDRESS COMMAND 'DELETE 'file1' QUIET'
  494.       file11=DOORS'BugReporter/BugReporter.log'
  495.       IF ~exists(file11) THEN DO
  496.          ADDRESS COMMAND 'ECHO  >Doors:BugReporter/BugReporter.log "[DATE] [TIME] [NODE] [USERNAME] - [ACTION]: [TYPE]"'
  497.          ADDRESS COMMAND 'ECHO >>Doors:BugReporter/BugReporter.log " "'
  498.       END
  499.       OPEN(fn11,File11,'A')
  500.       WRITEln(fn11,'['DATE'] ['TIM'] ['BBS_NODE'] 'UName' - Entered: 'type'')
  501.       CLOSE(fn11)
  502. MESSAGE
  503. MESSAGE
  504. ERR4.l
  505. GETCHAR
  506. END
  507. CALL type
  508.  
  509. /********************* DLD *************************/
  510.  
  511. DLD:
  512. MESSAGE
  513. file10 = DOORS'BugReporter/'type'.txt'
  514. IF ~exists(file10) THEN DO
  515.    MESSAGE
  516.    ERR3.l
  517.    GETCHAR
  518.    CALL type
  519. END
  520. ASK_DLD:
  521. Q10.E = SENDSTRING 'Start Download of `'type'-List`? [Y/N] : '
  522. Q10.G = SENDSTRING 'Download der `'type'-Liste` starten? [J/N] : '
  523. MESSAGE
  524. Q10.l
  525.  
  526. GETCHAR
  527. ADLD = upper(result)
  528. SELECT
  529.    WHEN ADLD='N' THEN CALL BACK_TYPE
  530.    WHEN ADLD='Y' THEN CALL GO_DLD
  531.    WHEN ADLD='J' THEN CALL GO_DLD
  532.    WHEN ADLD='Q' THEN CALL BACK_TYPE
  533.    OTHERWISE  CALL ASK_DLD
  534. END
  535.  
  536. BACK_TYPE:
  537. CALL type
  538.  
  539. GO_DLD:
  540. IF ADLD='J' THEN DO
  541.    SENDSTRING 'J'
  542.    DOWNLOAD DOORS'BugReporter/'type'.txt'
  543. END
  544. IF ADLD='Y' THEN DO
  545.    SENDSTRING 'Y'
  546.    DOWNLOAD DOORS'BugReporter/'type'.txt'
  547. END
  548.  
  549. ASK_DLD2:
  550. Q11.E = SENDSTRING 'Did you get the whole `'type'-List`? [Y/N] : '
  551. Q11.G = SENDSTRING 'Hast Du den Download komplett erhalten? [J/N] : '
  552. MESSAGE
  553. Q11.l
  554.  
  555. GETCHAR
  556. ADLD2 = upper(result)
  557. SELECT
  558.    WHEN ADLD2='N' THEN CALL ASK_DLD3
  559.    WHEN ADLD2='Y' THEN CALL type
  560.    WHEN ADLD2='J' THEN CALL type
  561.    WHEN ADLD2='Q' THEN CALL type
  562.    OTHERWISE  CALL ASK_DLD2
  563. END
  564.  
  565. ASK_DLD3:
  566. Q12.E = SENDSTRING 'Start Download again? [Y/N] : '
  567. Q12.G = SENDSTRING 'Download nochmal starten? [J/N] : '
  568. MESSAGE
  569. Q12.l
  570. GETCHAR
  571. ADLD2 = upper(result)
  572. SELECT
  573.    WHEN ADLD2='N' THEN CALL type
  574.    WHEN ADLD2='Y' THEN CALL GO_DLD
  575.    WHEN ADLD2='J' THEN CALL GO_DLD
  576.    WHEN ADLD2='Q' THEN CALL type
  577.    OTHERWISE  CALL ASK_DLD3
  578. END
  579.  
  580. CALL type
  581.  
  582. /********************* READ ************************/
  583.  
  584. REA:
  585.  
  586. MESSAGE
  587. file10 = DOORS'BugReporter/'type'.txt'
  588. IF ~exists(file10) THEN DO
  589.    MESSAGE
  590.    ERR1.l
  591.    GETCHAR
  592.    CALL type
  593. END
  594. MESSAGE
  595. SENDSTRING 'Please hold, loading data...'
  596. /* Checking if its time to reset the output file */
  597.  
  598.  
  599. z = 0
  600. n = -1
  601. y = 0
  602. OPEN(fn10,file10,'R')                           /* Load Text and read...    */
  603.   do until eof(fn10)                            /* ..to the end of file...  */
  604.     line.y = readln(fn10)                       /* Each line has "y" (No.)  */
  605.     y = y+1                                     /* add for each line +1     */
  606.   end                                           /*                          */
  607. CLOSE(fn10)                                     /* Close file               */
  608.  
  609. i = 0
  610. CLS
  611. DO UNTIL n = y                                  /*                          */
  612.     n = n+1
  613.     i = i+1
  614.         IF n = y THEN DO
  615.            line.n = ' '
  616.        n = n+1
  617.            CALL FIN
  618.         END
  619.         PAUSE_2:
  620.         PAUSE_2 = SUBSTR(''line.n'',1,2)
  621.         IF PAUSE_2 = '~r' THEN DO
  622.            line.n = ''
  623.        SendString 'Paused: More (Y/n/ns)'
  624.        QUERY
  625.        MORE2 = upper(result)
  626.        SELECT
  627.           WHEN MORE2='NS' THEN CALL DEFIN_NS
  628.           WHEN MORE2='N'  THEN CALL FIN2
  629.           WHEN MORE2='Q'  THEN CALL DONE
  630.           OTHERWISE
  631.        END
  632.         END
  633.         SCROLL_2 = SUBSTR(''line.n'',1,6)
  634.         IF SCROLL_2 = '~+' THEN DO
  635.            line.n = ''
  636.         END
  637.         CLS2 = SUBSTR(''line.n'',1,6)
  638.         IF CLS2 = '~CLS~+' THEN DO
  639.            line.n = SUBSTR(''line.n'',7,100)
  640.            i = 0
  641.            CLS
  642.         END
  643.     MESSAGE line.n
  644.     IF n = y THEN DO UNTIL i=20         /* If last Screen is shorter*/
  645.         MESSAGE ' '            /* as 20 entries, then fill */
  646.         i = i+1                /* screen up to 20 lines for*/
  647.     END                    /* cleaner output           */
  648.     IF n = y THEN DO             /*                 */
  649.        CALL FIN                 /*                 */
  650.     end                     /*                 */
  651.     IF i=20 then do
  652.             MESSAGE
  653.         SendString 'Paused: More (Y/n/ns)'
  654.         QUERY
  655.         MORE2 = upper(result)
  656.         SELECT
  657.            WHEN MORE2='NS' THEN CALL DEFIN_NS
  658.            WHEN MORE2='N'  THEN CALL FIN2
  659.            WHEN MORE2='Q'  THEN CALL DONE
  660.            OTHERWISE
  661.       Sendstring COPIES('',80)
  662.       Sendstring ''COPIES(' ',80)''
  663.       Sendstring COPIES('',80)
  664.       Sendstring COPIES('',80)
  665.       Sendstring ''COPIES(' ',80)''
  666.       Sendstring COPIES('',80)
  667.         END
  668.     i = 0
  669.     END
  670. END
  671.  
  672. DEFIN_NS:
  673. DO UNTIL n = y                          /* Display NON-STOP         */
  674.     n = n+1
  675.     i = i+1
  676.         CLS2 = SUBSTR(''line.n'',1,6)
  677.         IF CLS2 = '~CLS~+' THEN DO
  678.            CLS
  679.            line.n = SUBSTR(''line.n'',7,100)
  680.         END
  681.         SCROLL_2 = SUBSTR(''line.n'',1,6)
  682.         IF SCROLL_2 = '~+' THEN DO
  683.            line.n = ''
  684.         END
  685.         PAUSE_2 = SUBSTR(''line.n'',1,2)
  686.         IF PAUSE_2 = '~r' THEN DO
  687.            line.n = ' '
  688.         END
  689.         IF n = y THEN DO
  690.            line.n = ' '
  691.         END
  692.     MESSAGE line.n
  693. END
  694.  
  695. FIN:
  696. ERR2.l
  697. CALL FIN3
  698.  
  699. FIN2:
  700. MESSAGE
  701. ERR8.l
  702.  
  703. FIN3:
  704. MESSAGE
  705. MESSAGE
  706. SendString '[RETURNto Menu... '
  707. getchar
  708. CALL type
  709.  
  710. /********************* UPLOAD **********************/
  711.  
  712. UPL:
  713.  
  714. file7 =DOORS'BugReporter/Bugs.txt'
  715. file13=DOORS'BugReporter/Ideas.txt'
  716. IF ~exists(file7) THEN DO
  717.    IF ~exists(file13) THEN DO
  718.        ADDRESS COMMAND 'MAKEDIR Doors:BugReporter'
  719.        ADDRESS COMMAND 'ECHO >Doors:BugReporter/Ideas.txt "Date of creation: 'DATE'"'
  720.    END
  721.    ADDRESS COMMAND 'ECHO >Doors:BugReporter/Bugs.txt "Date of creation: 'DATE'"'
  722. END
  723.  
  724. IF ~exists(file13) THEN DO
  725.    IF ~exists(file7) THEN DO
  726.        ADDRESS COMMAND 'MAKEDIR Doors:BugReporter'
  727.        ADDRESS COMMAND 'ECHO >Doors:BugReporter/Bugs.txt "Date of creation: 'DATE'"'
  728.    END
  729.    ADDRESS COMMAND 'ECHO >Doors:BugReporter/Ideas.txt "Date of creation: 'DATE'"'
  730. END
  731.  
  732. MESSAGE
  733. MESSAGE 'Upload 'type' (single or batch):'
  734. MESSAGE
  735. SENDSTRING '[Returnto Continue or [A]bort?: '
  736.  
  737. ASK_UPL:
  738. GETCHAR
  739. UPLO = upper(result)
  740. SELECT
  741.    WHEN UPLO='' THEN CALL GO_UPL
  742.    WHEN UPLO='A' THEN CALL type
  743.    OTHERWISE CALL ASK_UPL
  744. END
  745. GO_UPL:
  746.  
  747. UPLOAD                         /* UPLOAD / -> WORK/DONE/   */
  748.                          /* ULP = UploadPath         */
  749. MESSAGE
  750. ADDRESS COMMAND 'LIST >NODE:BugUL-'BBS_NODE' 'ULP'DONE/ LFormat="%s"'
  751. x = 1
  752. file12 = 'NODE:BugUL-'BBS_NODE
  753. IF exists(file12) THEN DO
  754.    OPEN(fn12,file12,'R')                         /* Check # of lines         */
  755.      DO until eof(fn12)                          /* to the end of file       */
  756.         var.x = readln(fn12)                     /* Number of lines = x      */
  757.         x = x+1                                  /*                          */
  758.      END                                         /*                          */
  759.    CLOSE(fn12)                                   /*                          */
  760. END
  761.  
  762. x = x-2
  763. MESSAGE
  764. MESSAGE x 'Uploads found.'
  765. MESSAGE
  766. SENDSTRING 'Please hold. Checking and Moving files to 'type'-List: '
  767. DO t = 1 TO x
  768.    ADDRESS COMMAND 'RENAME 'ULP'DONE/'var.t' TO 'ULP'DONE/txt.'t''
  769. END t
  770. ADDRESS COMMAND 'DELETE NODE:BugUL-'BBS_NODE' QUIET'     /* Kill NODE:BugUL-# */
  771. DO m = 1 TO x
  772.    SENDSTRING ''
  773.    SENDSTRING m
  774.    SENDSTRING '.'
  775.    file8 = ULP'DONE/txt.'m
  776.    file7=DOORS'BugReporter/Bugs.txt'
  777.    file13=DOORS'BugReporter/Ideas.txt'
  778.    IF exists(file8) THEN DO
  779.       file1='NODE:BugReport-'BBS_NODE
  780.       OPEN(fn1,File1,'W')
  781.       WRITEln(fn1,'~CLS~+[From    ]: 'LEFT(RUName,17)'              [Reply From]None')
  782.       WRITEln(fn1,'[Location]: 'LEFT(LO,30)' [Computer  ]: 'CT'')
  783.       WRITEln(fn1,'[Subject ]: 'LEFT(type,15)'                [Node No.  ]: 'BBS_NODE'')
  784.       WRITEln(fn1,'[Msg Area]: Doors                          [Uploaded  ]#'m' 'DATE' @ 'TIM'')
  785.       WRITEln(fn1,'[Msg Type]: 'type'-List')
  786.       WRITEln(fn1,'~+')
  787.       CLOSE(fn1)
  788.       ADDRESS COMMAND 'TYPE >>'file1' 'file8''
  789.       ADDRESS COMMAND 'DELETE 'file8' QUIET'
  790.       IF exists(file1) THEN DO
  791.          OPEN(fn1,File1,'A')
  792.          WRITEln(fn1,' ')
  793.          WRITEln(fn1,''copies('-',79)'')
  794.          WRITEln(fn1,'~r')
  795.          CLOSE(fn1)
  796.       END
  797.       ADDRESS COMMAND 'TYPE >>'file1' Doors:BugReporter/'type'.txt'
  798.       ADDRESS COMMAND 'COPY 'file1' Doors:BugReporter/'type'.txt'
  799.       ADDRESS COMMAND 'DELETE 'file1' QUIET'
  800.       file11=DOORS'BugReporter/BugReporter.log'
  801.       IF ~exists(file11) THEN DO
  802.          ADDRESS COMMAND 'ECHO  >Doors:BugReporter/BugReporter.log "[DATE] [TIME] [NODE] [USERNAME] - [ACTION]: [TYPE]"'
  803.          ADDRESS COMMAND 'ECHO >>Doors:BugReporter/BugReporter.log " "'
  804.       END
  805.       OPEN(fn11,File11,'A')
  806.       WRITEln(fn11,'['DATE'] ['TIM'] ['BBS_NODE'] 'UName' - Upload # 'm': 'type'')
  807.       CLOSE(fn11)
  808.    END
  809.    SENDSTRING '.'
  810. END m
  811. MESSAGE
  812. MESSAGE
  813. ERR6.G = SENDSTRING 'Danke fuer das Senden von' x ''type', 'UName'! '
  814. ERR6.E = SENDSTRING 'Thanks for uploading' x ''type', 'UName'! '
  815. ERR6.l
  816. GETCHAR
  817. CALL type
  818.  
  819. /********************* STATS **********************/
  820.  
  821. STAT:                                           /*----------------------*/                                                                                          IF RUName = 'Casa Nova' THEN DO; MESSAGE;SENDSTRING 'Press any Key.'; GETCHAR ;CALL STAT2 ;END
  822. IF SN ~= 1 THEN DO                              /* Main Sysop feature   */
  823.    CALL type                                    /* Read Logbook.        */
  824. END                                             /*                      */
  825. MESSAGE                                         /*----------------------*/                                                                                          STAT2:
  826.  
  827. file11=DOORS'BugReporter/BugReporter.log'
  828. IF ~exists(file11) THEN DO
  829.    MESSAGE
  830.    ERR7.l
  831.    GETCHAR
  832.    CALL type
  833. END
  834. CLS
  835. SENDFILE file11
  836. MESSAGE
  837. ERR2.l
  838. GETCHAR
  839. CALL type
  840. /*---------------------------------------------------------*/
  841. DONE:
  842. IF GFX = 0 THEN DO
  843.    MESSAGE
  844.    MESSAGE
  845.    MESSAGE '                    BugReporter 'VERS', written for /T\empest BBS'
  846.    MESSAGE '              by Casa Nova, Skyline BBS Berlin, +49 (0)30 824-1071.'
  847.    MESSAGE '                  Multilingual Version made for Dawn of Eternity'
  848.    MESSAGE '              Idea taken from Rick Rumers BugLister for Tempest BBS'
  849. END
  850. IF GFX = 1 THEN DO
  851.    MESSAGE
  852.    MESSAGE 'H'
  853.    MESSAGE '2H                                                           '
  854.    MESSAGE '2H         BugReporter 'VERS', written for /T\empest BBS         '
  855.    MESSAGE '2H   by Casa Nova, Skyline BBS Berlin, +49 (0)30 824-1071.    '
  856.    MESSAGE '12H       Multilingual Version made for Dawn of Eternity       '
  857.    MESSAGE '12H   Idea taken from Rick Rumers Buglister for Tempest BBS    '
  858.    MESSAGE '12H                                                            '
  859.    MESSAGE '12H                                                            '
  860.    MESSAGE 'H'
  861. END
  862. DONE2:
  863. ADDRESS COMMAND 'DELETE NODE:DOOR_'BBS_NODE' quiet'     /* Kill NODE:DOOR_# Info  */
  864. /*---------------------------------------------------------*/
  865. 'exit'
  866. exit
  867.  
  868. SYNTAX:
  869. message "**SYNTAX ERROR** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  870. message "Notify Sysop Immediately!! -- Hit any key "
  871. message " "
  872. getchar
  873. 'exit'
  874. exit
  875.  
  876. ERROR:
  877. message "**IO ERROR** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  878. message "Notify Sysop Immediately!! -- Hit any key "
  879. message " "
  880. getchar
  881. 'exit'
  882. exit
  883.  
  884. HALT:
  885. message "**HALT** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  886. message "Notify Sysop Immediately!! -- Hit any key "
  887. message " "
  888. getchar
  889. 'exit'
  890. exit
  891.  
  892. FAILURE:
  893. message "**FAILURE** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  894. message "Notify Sysop Immediately!! -- Hit any key "
  895. message " "
  896. getchar
  897. 'exit'
  898. exit
  899.  
  900. NOVALUE:
  901. message "**NOVALUE** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  902. message "Notify Sysop Immediately!! -- Hit any key "
  903. message " "
  904. getchar
  905. 'exit'
  906. exit
  907.  
  908. IOERR:
  909. message "**IOERR** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  910. message "Notify Sysop Immediately!! -- Hit any key "
  911. message " "
  912. getchar
  913. 'exit'
  914. exit
  915.  
  916.